package com.ruoyi.server.service;

import com.ruoyi.server.domain.IotDevice;
import com.ruoyi.server.domain.vo.IotDeviceVo;
import com.ruoyi.server.domain.bo.IotDeviceBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 设备Service接口
 *
 * @author shanzhuo
 * @date 2023-11-04
 */
public interface IIotDeviceService {

    /**
     * 查询设备
     */
    IotDeviceVo queryById(Long id);

    /**
     * 查询设备列表
     */
    TableDataInfo<IotDeviceVo> queryPageList(IotDeviceBo bo, PageQuery pageQuery);

    /**
     * 查询设备列表
     */
    List<IotDeviceVo> queryList(IotDeviceBo bo);

    /**
     * 新增设备
     */
    Boolean insertByBo(IotDeviceBo bo);

    /**
     * 修改设备
     */
    Boolean updateByBo(IotDeviceBo bo);

    /**
     * 校验并批量删除设备信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
